package Day007_Collection_泛型_数据结构.Demo01_Collection;

/*
    Collection是所有单列集合的父接口，因此在Collection中定义了单列集合(List和Set)通用的一些方法：
        (Collection没有索引,Set没有索引,List有索引是重写过)

        1. public boolean add(E e) ： 把给定的对象添加到当前集合中 。
        2. public void clear() :清空集合中所有的元素。
        3. public boolean remove(E e) : 把给定的对象在当前集合中删除。
        4. public boolean contains(Object obj) : 判断当前集合中是否包含给定的对象。Object obj一切类的对象
        5. public boolean isEmpty() : 判断当前集合是否为空。不是判断为null,null是不能调用方法发,空指针异常
        6. public int size() : 返回集合中元素的个数。
        7. public Object[] toArray() : 把集合中的元素，存储到数组中
 */

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class collection集合 {
    public static void main(String[] args) {

        //定义collection集合
        //Collection<String> coll = new Collection();报错,接口不能创建对象
        Collection<String> coll = new ArrayList<>(); //多态,父接口引用指向实现类对象

        //1. add
        coll.add("范冰冰");
        coll.add("李冰冰");
        coll.add("赵薇");
        coll.add("林心如");
        System.out.println("coll集合" + coll); //[范冰冰, 李冰冰, 赵薇, 林心如]

        //2.clear
        //coll.clear();
        //System.out.println("coll集合" + coll); // []

        //3.remove
        coll.remove("范冰冰");
        System.out.println("coll集合" + coll); // [李冰冰, 赵薇, 林心如]

        //4.contains
        boolean b1 = coll.contains("李冰冰");
        boolean b2 = coll.contains("冰冰");
        System.out.println(b1); //true
        System.out.println(b2); //false

        //5.isEmpty
        //不是判断为null,null是不能调用方法发,空指针异常
        //boolean b3 = coll.isEmpty();
        //System.out.println(b3); //false 不为空

        //coll.clear(); //清空集合
        //boolean b4 = coll.isEmpty();
        //System.out.println(b4); //true

        //6.size
        System.out.println(coll.size()); //3

        //7.Object[] toArray() 存储到数组中
        Object[] arr = coll.toArray();
        System.out.println(arr); //[Ljava.lang.Object;@1540e19d
        //for (int i = 0; i < arr.length; i++) {
        //    System.out.print(arr[i] + " "); //李冰冰 赵薇 林心如
        //}
        System.out.println(Arrays.toString(arr)); //[李冰冰, 赵薇, 林心如]

    }
}
